package com.ktwlrj.core.feign.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 菜单权限结果实体
 *
 * @author Hou Xing Ding
 */
@Data
public class PermissionInfo implements Serializable {
    private static final long serialVersionUID = -6951403644939911358L;
    /**
     * 权限编号
     */
    @ApiModelProperty(value = "权限编号", name = "permissionId")
    private String id;

    /**
     * 上级权限编号
     */
    @ApiModelProperty(value = "上级权限编号", name = "parentId")
    private String pid;

    /**
     * 是否为菜单目录4:平台目录  1:表示为一个菜单目录或文件夹 2:表示为一个菜单权限项3、功能权限
     */
    @ApiModelProperty(value = "权限类型4:平台目录 1-菜单目录 2-菜单权限 3-功能权限", name = "flag")
    private int flag;

    /**
     * 权限名称
     */
    @ApiModelProperty(value = "权限名称", name = "name")
    private String name;

    /**
     * 所属系统id
     */
    @ApiModelProperty(value = "所属系统id", name = "systemId")
    private String systemId;

    /**
     * 所属系统名称
     */
    @ApiModelProperty(value = "所属系统名称", name = "systemName")
    private String systemName;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标", name = "icon")
    private String icon;

    /**
     * 排序码，越小越靠前
     */
    @ApiModelProperty(value = "排序码，越小越靠前", name = "sortId")
    private int sortId;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", name = "url")
    private String url;

    /**
     * 路由名称
     */
    @ApiModelProperty(value = "路由名称", name = "routeName")
    private String routeName;

    /**
     * 路由组件名称
     */
    @ApiModelProperty(value = "路由组件名称", name = "routeAssemblyName")
    private String routeAssemblyName;

    /**
     * 路由元信息
     */
    @ApiModelProperty(value = "路由元信息", name = "routeElement")
    private String routeElement;

    @ApiModelProperty(value = "允许集合", name = "allowActions")
    private String allowActions;
    /**
     * 操作集合
     */
    @ApiModelProperty(value = "操作集合")
    private String[] actions;
}
